package org.example

import com.hankcs.hanlp.HanLP
import com.hankcs.hanlp.dictionary.stopword.CoreStopWordDictionary
import com.hankcs.hanlp.summary.TextRankKeyword
import com.hankcs.hanlp.tokenizer.StandardTokenizer
import org.apache.spark.sql.SparkSession

import scala.collection.convert.ImplicitConversions.`collection AsScalaIterable`
import scala.jdk.CollectionConverters.CollectionHasAsScala
object data1_words {
  def main(args: Array[String]): Unit = {
    //spark运行环境
//    val spark = SparkSession
//      .builder
//      .master("local[*]")
//      .appName("spark")
//      .getOrCreate()
//
//    val sc = spark.sparkContext
//    //英文词频统计
//    sc.textFile("src/main/resources/words")
//      .flatMap(_.split(" ")) //扁平映射
//      .map(x => (x, 1))
//      .reduceByKey((x, y) => x + y)
//      .foreach(println)
//    //中文分词
//    val chinese1 = HanLP.segment("身高一米七八年收入15万,老师话不多")
//    println(chinese1)
//    //println(chinese1.asScale.map(_.word.trim))
//    //标准分词
//    val chinese2 = StandardTokenizer.segment("清明节放假++五一劳动节++暑假")
//    println(chinese2)
//    println(chinese2.asScala.map(_.word.replaceAll("\\s+", "")))
//    //关键词提取
//    TextRankKeyword.getKeywordList("速看！广东这五个地方将要拆迁，征收位置、面积和安置标准都已公布。快来看看你家吧。", 3)
//      .forEach(println)
//    //关键词过滤
//    val chinese3 = """16:00:00 pm [spark课程] www.baidu.com""".split("\\s+").foreach(println)
////    println(chinese3(2).replaceAll("\\[|\\]", ""))
//    val textArr = Array(
//      "su7爆燃遇难者母亲清空相关微博",
//      "甲亢哥被重庆甜妹教育了",
//      "胡歌老婆是他前助理",
//      "金价再起飞",
//      "你能接受与伴侣的年龄差是多少"
//    )
//    val textRDD = sc.parallelize(textArr)
//    val textResult = textRDD.map { text =>
//      val keyword = TextRankKeyword.getKeywordList(text, 5).toString
//      val words = transform(text)
//      (text, keyword, words)
//
//
//    }
//
//    def transform(sentense: String): List[String] = {
//      val list = StandardTokenizer.segment(sentense)
//      CoreStopWordDictionary.apply(list)
//      list.map(x => x.word.replaceAll(" ", "")).toList
 }
//
//    sc.stop()
 } // RDD[(String, String, List[String])] textResult.take(1).foreach(println)
//
//
//}









